﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using App_Persistencia;
using System.Data;

namespace App_Negocio
{
   public class Agenda
    {

        int id;

        public int Id
        {
            get { return id; }
            set { id = value; }
        }
        Evento evento;

        public Evento Evento
        {
            get { return evento; }
            set { evento = value; }
        }
        Reunion reunion;

        public Reunion Reunion
        {
            get { return reunion; }
            set { reunion = value; }
        }
        Pedido pedido;

        public Pedido Pedido
        {
            get { return pedido; }
            set { pedido = value; }
        }

       
       
       DateTime fechaFin;

        public DateTime FechaFin
        {
            get { return fechaFin; }
            set { fechaFin = value; }
        }
        string descripcion;

        public string Descripcion
        {
            get { return descripcion; }
            set { descripcion = value; }
        }

        public static List<Agenda> listarActividadesAgenda_Lista(string tipo)
        {
            List<App_Negocio.Agenda> lista = new List<App_Negocio.Agenda>();
            DataTable tabla = listarActividadesAgenda_Tabla(tipo);

            App_Negocio.Agenda ag = new App_Negocio.Agenda();
            foreach (DataRow fila in tabla.Rows)
            {
                ag = new Agenda ();
                ag.Id = int.Parse(fila["AgId"].ToString());
                ag.descripcion = fila["descripcion"].ToString();

                if (fila["EventoId"].ToString() =="") {
                ag.Reunion = new Reunion();
               
                ag.Reunion.Fecha = DateTime.Parse(fila["Fecha"].ToString());
                ag.Reunion.Id = int.Parse(fila["ReunionId"].ToString());
                }else{
                ag.Evento = new Evento();
                ag.Evento.Id = int.Parse(fila["EventoId"].ToString());
                ag.Evento.FechaEvento = DateTime.Parse(fila["Fecha"].ToString());
              
                
                
                }
                ag.FechaFin = DateTime.Parse(fila["Fecha"].ToString());
                
                lista.Add(ag);
            }
            return lista;
        }

        public static DataTable listarActividadesAgenda_Tabla(string tipo)
        {
            Agenda_Data ag = new Agenda_Data();
            DataTable tabla = ag.buscarActividadesPorTipo(tipo);
            return tabla;
        }



        public void guardarAgenda() {

            App_Persistencia.Agenda_Data agenda = new App_Persistencia.Agenda_Data();
            App_Persistencia.Evento_Data even= new App_Persistencia.Evento_Data();
            App_Persistencia.Reunion_Data reu= new App_Persistencia.Reunion_Data();
            App_Persistencia.Pedido_Data ped = new App_Persistencia.Pedido_Data();
                        
            if (Evento != null)
            {
                even.Id = Evento.Id;
                even.FechaEvento = Evento.FechaEvento;
                reu.Id = -1;
                ped.Id = -1;
               
            }
            else if (Reunion != null)
            {
                reu.Id = Reunion.Id;
                reu.Fecha = Reunion.Fecha;
                even.Id = -1;
                ped.Id = -1;
            }
            else
            {
                ped.Id = Pedido.Id;
                ped.Fecha = Pedido.Fecha;
                even.Id = -1;
                reu.Id = -1;

            }
            agenda.Evento = even;
            agenda.Reunion = reu;
            agenda.Pedido = ped;
            agenda.Descripcion = descripcion;
            agenda.guardarAgenda();
        }
    }
}